Latches and flip-flops that work perfectly well in terrestrial applications can nevertheless fail in aerospace application. Such failures are often radiation-induced upsets that occur when high-energy radiation changes the state of a latch or flip-flop. Radiation-induced upsets are sometimes called "soft" errors because they do not physically damage the circuit.
FIG. 1 depicts a conventional radiation-tolerant logic circuit 100 connected between an input bus IN and a destination circuit 105. Logic circuit 100 receives logic signals on input bus IN and provides some desired logical results from those signals to destination circuit 105. Circuit 100, typically an integrated circuit, includes combinational logic 110 connected via a line 120 and a clock line CLK to a triple-redundant storage element 130. Triple-redundant storage element 130 includes three flip-flops 132, 134, and 136, each of which includes a "D" input connected to line 120, a clock input connected to the common clock line CLK, and a "Q" output. Flip-flops 132, 134, and 136 function identically to capture the output data from combinational logic 110 upon receipt of a clock edge on clock line CLK. For terrestrial application, where soft errors are extremely rare, only one flip-flop (e.g., flip-flop 132) is required. However, because aerospace applications are subject to occasional soft errors, redundant flip-flops are provided to accommodate the occasional radiation-induced upset.
The "Q" outputs of flip-flops 132, 134, and 136 are connected to a voting circuit 140 that outputs a signal on a line Q that represents the majority logic: provided by flip-flops 132, 134, and 136 on respective lines Q1, Q2, and Q3. Output line Q of voting circuit 140 will therefore correctly represent the output of combinational logic 110 so long as no more than one of flip-flops 132, 134, and 136 is in error. Any soft errors are corrected upon the arrival of a subsequent rising clock edge on line CLK.
The likelihood of a radiation-induced upset disrupting one of flip-flops 132, 134, and 136 during a given clock cycle is remote; the likelihood of radiation-induced upsets affecting more than one of flip-flops 132, 134, and 136 during a given clock cycle is even more so. Circuit 100 therefore offers improved radiation resistance over similar circuits without triple redundancy.
The trouble with circuit 100 is that it does nothing about soft errors that might occur within combinational logic 110. Thus, combinational logic 110 and voting circuit 140 are typically limited to circuit types that are relatively resistant to radiation. Such circuits include antifuse-based programmable logic devices (PLDs). However, antifuse-based PLDs are one-time-programmable, and thereofore cannot later be reprogrammed to provide different functionality. In contrast, SRAM-based PLDs can be reprogrammed, but include very large numbers of latches and flip-flops that might be sensitive to radiation. Radiation-resistant reprogrammable PLDs might be manufactured using special semiconductor processes, but such PLDs would be very expensive relative to PLDs manufactured using standard processes. There is therefore a need for reprogrammable, radiation-tolerant PLDs that can be manufactured using standard semiconductor processes.